সি# এ StreamReader এবং StreamWriter ক্লাসগুলো ফাইল থেকে ডেটা পড়া এবং ফাইলে ডেটা লেখার জন্য ব্যবহৃত হয়। StreamReader ফাইলের কনটেন্ট লাইনে লাইনে পড়তে এবং StreamWriter ফাইলে লেখা সহজ করে তোলে। এগুলো System.IO নেমস্পেসের অংশ এবং সাধারণত ফাইল হ্যান্ডলিং এ ব্যবহৃত হয়।
StreamWriter
StreamWriter ব্যবহার করে ফাইলে ডেটা লেখার জন্য Write এবং WriteLine মেথড ব্যবহার করা হয়। StreamWriter এর সাহায্যে বড় বা একাধিক লাইন ডেটা ফাইলে লিখতে সুবিধাজনক।
উদাহরণ: StreamWriter দিয়ে ফাইলে লেখা
using System;
using System.IO;
public class Program
{
public static void Main()
{
string filePath = "example.txt";
// StreamWriter দিয়ে ফাইলে লেখা
using (StreamWriter writer = new StreamWriter(filePath))
{
writer.WriteLine("This is line 1.");
writer.WriteLine("This is line 2.");
writer.WriteLine("This is line 3.");
}
Console.WriteLine("Content written using StreamWriter.");
}
}
ব্যাখ্যা
StreamWriterঅবজেক্টwriterতৈরি করা হয়েছে, যাfilePath(example.txt) ফাইলের সাথে সংযুক্ত।writer.WriteLine()মেথডের মাধ্যমে ফাইলে লাইন বাই লাইন লেখা হয়েছে।usingব্লক ব্যবহার করা হয়েছে, যা ব্লকের শেষে রিসোর্স মুক্ত করে দেয়।
StreamReader
StreamReader ব্যবহার করে ফাইলের ডেটা লাইনে লাইনে পড়া হয়। StreamReader বড় ফাইলের কনটেন্ট লাইনে লাইনে পড়তে উপযুক্ত।
উদাহরণ: StreamReader দিয়ে ফাইল পড়া
using System;
using System.IO;
public class Program
{
public static void Main()
{
string filePath = "example.txt";
// StreamReader দিয়ে ফাইল পড়া
if (File.Exists(filePath))
{
using (StreamReader reader = new StreamReader(filePath))
{
string line;
while ((line = reader.ReadLine()) != null)
{
Console.WriteLine(line);
}
}
}
else
{
Console.WriteLine("File does not exist.");
}
}
}
ব্যাখ্যা
StreamReaderঅবজেক্টreaderতৈরি করা হয়েছে, যাfilePathফাইলের সাথে সংযুক্ত।reader.ReadLine()মেথড দিয়ে লাইনে লাইনে ডেটা পড়া হচ্ছে।ReadLineপ্রতিটি লাইনের পর নতুন লাইন পাঠ করে এবং নাল হয়ে গেলে লুপ থেকে বের হয়।usingব্লক ব্যবহার করা হয়েছে, যাতে কাজ শেষে রিসোর্স মুক্ত হয়।
StreamWriter এর মাধ্যমে অ্যাপেন্ড করা (ফাইলের শেষে লেখা)
ফাইলের শেষে নতুন ডেটা যোগ করার জন্য StreamWriter এর append মোড ব্যবহার করা হয়।
using System;
using System.IO;
public class Program
{
public static void Main()
{
string filePath = "example.txt";
// StreamWriter দিয়ে ফাইলে অ্যাপেন্ড করা
using (StreamWriter writer = new StreamWriter(filePath, true)) // true মানে অ্যাপেন্ড মোডে খুলবে
{
writer.WriteLine("This is appended line 1.");
writer.WriteLine("This is appended line 2.");
}
Console.WriteLine("Content appended using StreamWriter.");
}
}
ব্যাখ্যা
new StreamWriter(filePath, true)এরtrueপ্যারামিটার অ্যাপেন্ড মোড সক্রিয় করে।writer.WriteLine()এর মাধ্যমে ফাইলের শেষে নতুন লাইনগুলো যোগ করা হয়।
StreamReader দিয়ে পুরো ফাইল পড়া (ReadToEnd)
যদি পুরো ফাইল একবারে পড়তে চান, তাহলে ReadToEnd মেথড ব্যবহার করতে পারেন।
using System;
using System.IO;
public class Program
{
public static void Main()
{
string filePath = "example.txt";
// StreamReader দিয়ে পুরো ফাইল পড়া
if (File.Exists(filePath))
{
using (StreamReader reader = new StreamReader(filePath))
{
string content = reader.ReadToEnd();
Console.WriteLine(content);
}
}
else
{
Console.WriteLine("File does not exist.");
}
}
}
সংক্ষেপে
- StreamWriter: ফাইলে লেখা ও অ্যাপেন্ড করা যায়,
WriteএবংWriteLineমেথড ব্যবহার করে। - StreamReader: লাইনে লাইনে বা একবারে পুরো ফাইল পড়া যায়,
ReadLineএবংReadToEndমেথড ব্যবহার করে। - using ব্লক: ব্যবহার করার পর অবজেক্ট স্বয়ংক্রিয়ভাবে ডিসপোজ করার জন্য ব্যবহার করা হয়, যা রিসোর্স ম্যানেজমেন্টে সহায়ক।
StreamReader এবং StreamWriter এর মাধ্যমে ফাইল হ্যান্ডলিং করা সহজ হয় এবং এগুলো বড় বা একাধিক লাইনের ফাইল পরিচালনার জন্য অত্যন্ত কার্যকর।